Esempio CNC 01: Generazione diretta di OutQueue
Vedi il CNC01_direct.project progetto di esempio nella directory di installazione di CODESYS sotto ..\CODESYS SoftMotion\Examples.
Questo esempio mostra un programma CNC con due assi. Vengono raggiunte quattro posizioni nel piano X/Y con velocità e accelerazione definite. Il programma imposta due punti di commutazione del percorso sul percorso. Il programma viene scritto direttamente in una struttura dati utilizzando l'estensione SMC_OutQueue modalità di compilazione.
Creazione di un programma NC nell'editor CNC
Creare un
CNCdirectprogetto con a SoftMotion controllore.Inserisci a Programma CNC oggetto chiamato
Example.Seleziona il Implementazione
Din66025e il Modalità di compilazioneSMC_OutQueue.Specificare i seguenti blocchi di movimento:
Editor CNC:

Creazione di un'interfaccia dell'azionamento e configurazione del PLC
Definire una struttura di azionamento con due azionamenti lineari come segue:
Inserisci due unità virtuali
X_DriveeY_Drivesotto il Pool di assi generali SoftMotion.Impostare il Tipo di asse parametro a
Finite(1).Editor di configurazione:

Creazione di un programma IEC
Aggiungi un nuovo programma CFC ipo all'applicazione e configurare un task ciclico con un intervallo di 3 ms.
Attivare gli azionamenti con il blocco funzione
MC_Power.POU:

Ora aggiungi il blocco di costruzione
SMC_Interpolatoruno. Il blocco converte un percorso descritto dagli oggetti GEOINFO in punti di percorso discreti. Il blocco riceve in ingressopoqDataInl'indirizzo del programma CNC creato. Inoltre, sull'ingresso deve essere impostato il tempo di ciclo del task IECdwIpoTimeda scrivere. Puoi usarlo come valore costante all'ingressodwIpoTimeinserisci o usi la variabiledwCyclela struttura del gruppo di assi dalla configurazione del controllo. Il vantaggio è che l'ora corretta viene utilizzata automaticamente come ingresso dell'interpolatore se si modifica il tempo di ciclo del task.POU:

In questo esempio, verrà controllato un sistema a portale. A tal fine, inserire un'istanza dei blocchi funzione di trasformazione inversa e diretta dal
SM_Trafobiblioteca. Il blocco funzione di trasformazione in avanti contiene gli azionamenti come ingressi. Il blocco funzione di trasformazione inversa deve contenere la posizione impostata dell'interpolatore. La trasformazione in avanti nell'esempio è richiesta solo per la visualizzazione.Istanza del blocco funzione:


Le uscite del blocco funzione (le coordinate degli assi) devono essere scritte negli azionamenti. Questo è fatto con il
SMC_ControlAxisByPosblocco funzionale. Poiché l'applicazione non garantisce che le uscite dell'interpolatore siano costanti (es. il percorso termina in un punto diverso da quello in cui è iniziato), attivare l'evitamento gap (bAvoidGaps,fGapVelocity,fGapAcceleration,fGapDeceleration). Quindi collegare ilStopIpouscita albEmergency_Stopingresso dell'interpolatore e collegare l'uscita dell'interpolatoreiStatusai rispettivi ingressi dei blocchi funzione di controllo assi.Osservare l'ordine corretto dei blocchi funzione durante la programmazione con CFC.
CFC:

Creazione di un'interfaccia operativa e di un'interfaccia di test
Collega due oggetti di visualizzazione a una nuova visualizzazione: il modello dell'interpolatore e il modello della trasformazione. È necessario utilizzare i segnaposto per collegarli alle rispettive istanze di blocchi funzione (qui: Ipo.smci e Ipo.trafof).
La messa in produzione
Compila e avvia il programma creato. Il programma esegue il movimento del CNC non appena il Execute è stato impostato l'ingresso dell'interpolatore. Dopo che il programma è stato eseguito completamente, è possibile riavviarlo mediante un nuovo fronte di salita.
Notare la funzione degli interruttori di percorso che vengono visualizzati anche nella visualizzazione del blocco funzione di interpolazione.